This invention relates to the field of wireless access of enterprise data systems and corresponding applications. More specifically, this invention relates to developing a wireless application gateway to enable wireless access of customized data from multiple remote enterprise systems.
In today's world, most enterprises deploy several applications for executing their business processes. An enterprise may deploy, for example, a supply chain management (SCM) application for managing its inventories and it may also deploy a Customer Relationship Management (CRM) application for managing relationships with its customers. Some well-known examples of applications used for SCM and CRM include those developed and sold by SAP of Germany, Siebel Systems of San Mateo, Calif., USA and Oracle Corporation of Redwood City, USA.
Typically, these large enterprise applications and systems reside on an Information Technology platform and use Operating systems such as Windows 2000, Microsoft NT, Linux, etc. Furthermore, these applications and their corresponding data may reside in various database systems at different sites or different locations (within or even outside the enterprise). For example, an enterprise that deploys an SCM application may have a production facility in China, a sales office in France, and its headquarters in the USA. The employees, contractors, dealers, suppliers, and even customers of such an enterprise usually need to exchange information (from their respective locations).
To address this issue of information exchange over geographically distant locations, enterprises use wired networks to connect their systems (as well as employees, clients and others) to the Internet or enterprise intranets. These local and wide area networks allow the connected parties to access data and execute applications, as desired. Although a wired connection solves the problem of accessing the enterprise Information Technology resources to a great extent, this solution is clearly limited, as mobile users cannot use it. For example, this solution will not help a salesperson-who is traveling to a customer site and who may want to access information about a product (that his/her company may be currently selling or is in the process of developing).
Emerging wireless technologies overcome the abovementioned drawback to a certain extent since they allow the user to access enterprise Information Technology resources through mobile devices (such as Personal Digital Assistants (PDAs), Palm tops, mobile phones, and handheld scanners). Currently, wireless services are based on different wireless technologies such as General Packet Radio Services (GPRS), Cellular Digital Packet Data (CDPD), Code Division Multiple Access (CDMA) and Global System of Mobile communication (GSM) and are primarily used for accessing general portal information; general portal information is simply “common information” that can be accessed by any user (for his/her personal use). Examples of such information include stocks quotes, the weather report and sports scores. While accessing and presenting such general portal information, a minimal amount of personalization and processing is required.
Of course, incorporating the heretofore-mentioned technologies and devices for accessing an enterprise's business information ‘anywhere’ and ‘anytime’ provides many advantages to the enterprise. These advantages include lower sales costs, improvements in productivity and shortening of supply chain and customer response cycle times. However, there are four sets of issues that need to be addressed in order to properly integrate wireless systems with enterprise backend systems. These issues are related to (a) processing and customizing the information to be presented to the user, (b) integrating different mobile devices having different screen sizes and other resources, (c) handling a number of wireless technologies (e.g. CDPD, GSM, GPRS, and CDMA) and taking care of issues related to security and Quality of service (QoS) for each of these technologies, and (d) seamlessly integrating a multitude of interfaces within the enterprise system and the wireless system for the proper functioning of the entire system. Since these four sets of issues are fairly important and complex, they are described in detail in the following paragraphs.
The first set of issues arises while integrating the wireless system with the enterprise backend systems. There are four main complexities that need to be handled while integrating these systems. First, the business information from an enterprise needs to be processed and customized for each individual user who is accessing the business information. Second, the business information may have access and security issues associated with it for individual users. (For example, the president of Human Resources may have different access rights than a warehouse manager.) Such issues also need to be addressed while integrating the wireless systems with the backend systems. Third, enterprise information has to be often retrieved from multiple backend systems before transmitting it to the mobile devices. (For example, an enterprise may use Siebel systems for customer service orders but may use SAP R/3 system for inventory management. In such a scenario, a sales person who is trying to fill a customer's order needs information from both systems. However, the methods of accessing information from these two systems are likely to vary greatly.) Finally, since mobile devices are resource-constrained, the retrieved information needs to be compressed, transmitted and presented appropriately.
The second set of issues arises because different devices (e.g., Desktop PCs, laptops, palmtops, mobile phones, etc.) need to be supported by the system. However, one device tends to be different from the other with respect to its resources (such as screen size, processing speed, etc.) and with respect to its communication mechanism with the network. For example, desktop computers typically have displays with at least 14″ screen size, and their resolution is typically between 640×480 and 1024×768 pixels. In contrast, mobile devices typically have a screen size between 25×25 mm and 80×120 mm, and resolutions between 90×60 to 320×240 pixels. Similarly, other resources, (such as available bandwidth for data transmission) of various mobile devices are also constrained as compared to desktop computers. Yet these mobile devices have to support most, if not all, features (such as electronic mails, facsimiles, and Web browsing) that are supported by a desktop computer.
The third set of issues arises because many wireless networks and technologies (such as CDMA, GPS, CDPD, GPRS, etc.) are currently being used for transmitting and receiving data. Thus, the system needs to be capable of transforming data—according to the requirements of different technologies (including the Quality of Service (QoS) guarantees of the network and other related features). Some important parameters that need special emphasis include the security and the speed of the transaction. Network security has to be provided in order to ensure that only authorized users are given access to enterprise resources, whereas, high transaction speed is needed to ensure fast processing and presentation of data in response to a user's request.
Finally, the fourth set of issues arises because information of an enterprise passes through layers of technologies before it reaches the end user. These layers include the server platform, the server application, the enterprise network, the transmission medium, the client device, and the client application. In order to “mobile enable” a given application of an enterprise, the number of interfaces (between different technologies) that need to be developed can become quite large. For example, even if two types of technologies are used for each layer—and this is a very conservative number for a large organization—there would be about sixty-four interfaces that need to be developed and tested in order to “mobile enable” the given application. To provide a solution that supports these issues is a daunting task. Additional features like security and speed only make the task of creating this solution more daunting and it is not surprising that complex programming and coding is required for building such an integrated solution.
Most enterprises do not have the resources to do such complex programming and they have to rely on external software builders (who can build this solution for the enterprise). This, in turn, often proves to be fairly expensive for the enterprise. In situations where the enterprise have the requisite employees for building such a solution, these employees end up spending time on programming, coding, and testing rather than on refining their internal business processes. And, finally, once such a complex interface is built and implemented, the enterprise may not be able to change its business processes and their implementation easily because then the corresponding software would need to be modified.
U.S. Pat. No. 6,336,137, titled “Web Client-Server System And Method For Incompatible Page Markup And Presentation Languages”, assigned to Siebel Systems, Inc., California, USA, provides a system for transferring data between a server and one or more clients through a network. The network for transfer of data includes wireless network as well. The information is sent to the wireless networks using Wireless Application Protocol (WAP) and Wireless Markup Language (WML). Here, the clients can be WAP enabled mobile devices that use wireless network to send and receive information from server.
Another patent that provides such a solution is U.S. Pat. No. 6,324,542 that is titled “Enterprise Connectivity To Handheld Devices”. This patent is assigned to Wright Strategies, Inc., California, USA. This patent discloses a client-server architecture that provides occasional connections between mobile computing devices and the enterprise computing systems. It supports AppleTalk (ADSP) and Internet (TCP/IP) network connections. This architecture, according to the patent, connects one of the mobile clients to the server having a session module. After the information transaction gets completed the client is disconnected from the server.
The abovementioned patents suffer from one or more of the following drawbacks. They provide access to enterprise systems only through one or two wireless networks. Thus, a user cannot access enterprise systems in case his/her mobile device does not support these wireless networks. In other words, prior art does not provide an end-to-end solution that supports all wireless networks and mobile devices. Another major drawback associated with these patents is that they focus on providing wireless access to the databases rather than providing access at object level (i.e. business components and applications level). This drawback is of major concern, as the enterprises may not allow external applications to access databases directly (since the rules relating to access of databases are stored at the object level). Also, though the patents work with applications, they are limited to providing wireless access to small applications (like email application) and not all complex business applications. Also, a user has to do programming to make use of the prior art solutions with his/her enterprise system. Thus, enterprises need to spend large amount of money to employ or engage software programmers
Thus, there is a need for a system that enables a user to develop an integrated solution that allows access of enterprise backend systems through a mobile device. A need exists for a system that enables the design and development of an interface that addresses all the issues related to wireless access. As already described, these issues relate to support for all wireless networks, support for all mobile devices and data presentation in a format that is compatible with device's screen. Also, there is a need for a system that provides wireless access not only to databases but also to complex business applications of the enterprise. A system is required that simplifies interface development process so that a business developer can build all interfaces of an operational system without going into programming and coding details. Further, the system should be able to save the time and money of an enterprise by enabling a business developer to build a fully functional, production ready interface in two to four weeks.